package com.zhs.gccs.mbtiles;

import com.mapbox.geojson.FeatureCollection;

import java.util.List;

//{type:,model:,sourceId,layers:[{layer,type,color,opacityOrWidth}]}
public class MapSource {
    private String sourceId;//sourceId
    private String type;//raster   vector  geojson
    private List<String> tiles;
    private String model;//

    private Boolean cluster;//是否聚合 针对 geoson 的
    private int clusterMaxZoom;//: 10, // Max zoom to cluster points on  指定聚合最大层级clusterMaxZoom，这表示当超过这个最大层级之后。就不会有聚合效果了
    private Long clusterRadius;//Radius of each cluster when clustering points (defaults to 50)  聚合半径clusterRadius，这个半径越大会检索到越广的范围进行聚合


    private Integer tileSize;
    private String assets;//assets文件方式
    private String file;//文件方式
    private String url; //网络数据
    private FeatureCollection gsonData;//gson数据
    private List<MapLayer> layers;

    public static final String type_raster = "raster";
    public static final String type_vector = "vector";
    public static final String type_geojson = "geojson";



    ///////////////////////////////////////////////


    public int getClusterMaxZoom() {
        return clusterMaxZoom;
    }

    public void setClusterMaxZoom(int clusterMaxZoom) {
        this.clusterMaxZoom = clusterMaxZoom;
    }

    public Long getClusterRadius() {
        return clusterRadius;
    }

    public void setClusterRadius(Long clusterRadius) {
        this.clusterRadius = clusterRadius;
    }

    public Boolean getCluster() {
        return cluster;
    }

    public void setCluster(Boolean cluster) {
        this.cluster = cluster;
    }

    public String getAssets() {
        return assets;
    }

    public void setAssets(String assets) {
        this.assets = assets;
    }

    public String getFile() {
        return file;
    }

    public void setFile(String file) {
        this.file = file;
    }

    public FeatureCollection getGsonData() {
        return gsonData;
    }

    public void setGsonData(FeatureCollection gsonData) {
        this.gsonData = gsonData;
    }



    public String getSourceId() {
        return sourceId;
    }

    public void setSourceId(String sourceId) {
        this.sourceId = sourceId;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public List<String> getTiles() {
        return tiles;
    }

    public void setTiles(List<String> tiles) {
        this.tiles = tiles;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public Integer getTileSize() {
        return tileSize;
    }

    public void setTileSize(Integer tileSize) {
        this.tileSize = tileSize;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public List<MapLayer> getLayers() {
        return layers;
    }

    public void setLayers(List<MapLayer> layers) {
        this.layers = layers;
    }
}
